home *** CD-ROM | disk | FTP | other *** search
- Date: 24 Aug 94 12:51 GMT
- From: CAMPER@AppleLink.Apple.COM (Camper, Dan)
- Subject: Mac Drag and Drop
- To: INFO-MCL@CAMBRIDGE.APPLE.COM
-
- I've posted an MCL module for using the Macintosh Drag and Drop Manager onto
- the Cambridge ftp site as well as the necessary interface file. The paths are:
-
- /pub/mcl/contrib/drag-and-drop.lisp
-
- /pub/mcl/interfaces/Drag.lisp
-
- Here is the header from module:
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;
- ;;;; Macintosh Drag and Drop for MCL
- ;;;;
- ;;;; Almost, but quite all of the Macintosh Drag Manager is implemented here.
- ;;;; There are a couple of bonuses, though, the biggest being that the
- ;;;; implementation easily supports drag and drop behavior among views in a
- ;;;; window.
- ;;;;
- ;;;; General usage notes:
- ;;;;
- ;;;; o In order to drag items from a view or receive drops the view's window
- ;;;; must include 'drag-&-drop-window-mixin class its definition.
- ;;;; o If you want a particular view to be able to receive a drop, make sure
- ;;;; you've specialized the 'drag-receive-drag method.
- ;;;; o If you want be able to drag items out of a particular view, specialize
- ;;;; the 'drag-selection-p method.
- ;;;; o Events from the Drag Manager are piped through a dispatching function
- ;;;; and sent to MCL methods, which you should specialize. The methods
- ;;;; are all named 'drag-tracking-xxxx.
- ;;;;
- ;;;; Following the Real Code are a couple of examples. The first is a subclass
- ;;;; of fred, allowing you to drag selections out as either text data (to other
- ;;;; text-oriented applications), text clipping files in the Finder or as MCL
- ;;;; files in the Finder. The second example is a simple view with two text
- ;;;; fields that allow dragging and dropping between them. Both examples allow
- ;;;; you to drop text data, text clipping files and text documents into their
- ;;;; respective drop locations. After evaluating the commented code you can
- ;;;; bring up the examples via (fred-example) and (text-item-example) in the
- ;;;; Listener.
-
-
- Please let me know if you have any comments or problems with the code.
-
- Dan
-
-
-
-